package com.avic.system.service;


import com.avic.system.dal.model.vo.MenuPermission;
import com.avic.system.dal.model.SystemPermission;

import java.util.List;

/**
 * 系统权限service
 *
 * @author: huangsheng
 * @date: 2017/10/24 上午10:39
 */
public interface SystemPermissionService {

    /**
     * 分页查询菜单系统权限数据
     *
     * @author: huangsheng
     * @date: 2017/10/20 上午10:29
     */
    List<SystemPermission> getSystemPermission(String menuId);

    /**
     * 获取所有菜单的权限数据
     *
     * @author: huangsheng
     * @date: 2017/10/24 下午9:04
     */
    List<MenuPermission> getMenuPermissions();

    /**
     * 查询角色拥有的权限ID集合
     *
     * @author: huangsheng
     * @date: 2017/10/24 下午9:37
     */
    List<String> getPermissionByRoleId(String roleId);

    /**
     * 新增权限
     *
     * @author: huangsheng
     * @date: 2017/10/26 下午2:52
     */
    String createSystemPermission(SystemPermission systemPermission);

    /**
     * 修改权限
     *
     * @author: huangsheng
     * @date: 2017/10/26 下午2:52
     */
    void updateSystemPermission(SystemPermission systemPermission);

    /**
     * 删除权限（逻辑删除）
     *
     * @param permissionId 权限ID
     */
    void deleteSystemPermission(String permissionId);

    /**
     * 获取所有权限code
     *
     */
    List<String> getAllSystemPermission();

}
